package com.a918.dao;

import com.a918.entity.Orgmonth;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface OrgmonthMapper {

    int deleteByPrimaryKey(Integer id);

    int insert(Orgmonth record);

    int insertSelective(Orgmonth record);

    Orgmonth selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Orgmonth record);

    int updateByPrimaryKey(Orgmonth record);

    Orgmonth getByNameAndYuefen(String orgCode, String yuefen);

    Orgmonth getMaxShangquanf(String yuefen);

    Orgmonth selectAllData();

    Double getMaxAvgage();

    Double getMaxWorkLength();

    Double getMaxDlvyCount();

    Double getMaxWayBillCount();

    Double getMaxDailyMax();

    Double getMaxWorkload(String yuefen);

    Double getMinWorkload(String yuefen);

    Double getMinOrMaxZhibiaoOfAll(@Param("zhibiao")String zhibiao, @Param("ismax") Integer isMax);

    List<Orgmonth> getMinOrMaxZhibiao(@Param("zhibiao")String zhibiao, @Param("yuefen") String yuefen, @Param("ismax") Integer isMax);

    List<Orgmonth> selectAll();

    List<Orgmonth> getAllByYufen(String yuefen);

    List<Orgmonth> getOrgList(Map<String, String> paramMap);

    List<Orgmonth> getOrderedOrgList(Map<String,String> paramMap);

    List<Orgmonth> getOrgListCollected(Map<String, String> paramMap);

    List<Orgmonth> getOrderedOrgListCollected(Map<String,String> paramMap);

    List<String> getAllOrgCode();

    List<String> getAllOrgCodeByYuefen(String yuefen);

    List<Orgmonth> getByNameAndYuefenRange(String wangdian,String yuefenBgn, String yuefenEnd);

    Integer queryOrgNum();

    Integer queryOrgNumByProv(String provence);

    Integer queryEvaluateNum();

    void rankByYuefen(String yuefen, String dataCol, String rankCol);

    void rankByYuefenAndType(String yuefen, String dataCol, String rankCol, String type);

    int getCountByYuefen(String yuefen, String type);

    void updateRank(String yuefen, int high, int low, String rank);

    void updateRankByType(String yuefen, int high, int low, String type, String rank);

    Double getLoadScoreByYuefenAndLoadRankAndType(int loadrank, String yuefen, String type);

    Double getStaffScoreByYuefenAndStaffRankAndType(int staffrank, String yuefen, String type);

    Double getAgeScoreByYuefenAndAgeRankAndType(int agerank, String yuefen, String type);

    Double getLaborScoreByYuefenAndLaborRankAndType(int laborrank, String yuefen, String type);

    Double getDailyScoreByYuefenAndDailyRankAndType(int dailyrank, String yuefen, String type);

    Double getMaxScoreByYuefenAndMaxRankAndType(int maxrank, String yuefen, String type);
}
